Conversation
Comparative analysis of 4 AI knowledge systems (Coral KB, QMD, GBrain, MemPalace) — original scans, cross-cutting enhancements, and integrated quantitative/qualitative evaluation. 213 verified findings across 9 documents. Informed the KB wiki system design. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Build output now goes to build/ (git-ignored) instead of bridge/ directly. bridge/ is updated only via `npm run build:release` which builds then copies. This separates dev iteration artifacts from committed release bundles. - Integrate verify-simulation-sealing into build-server.mjs (runs on every build) - Add --release flag to build-server.mjs for build/ → bridge/ copy with permissions - Remove build:server script (redundant) - Add .github/workflows/verify-bridge.yml for PR hash verification - Fix coral-claude-appserver.cjs permission (755 → 644, not directly executed) - Update docs to reflect new build commands Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
CLI-invoked agents (e.g. `coral-cli codex scanner`) were hitting Codex sandbox errors because start() defaulted bypassPermissions to false regardless of whether an agent was resolved. coralDispatch() already defaulted to true for agents — this aligns start() to the same behavior. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…dled rejection Three independent test issues: 1. Curate tests: isUsageBudgetExhausted() reads ~/.claude/hud/ .coral-cache.json via homedir() at runtime. When weekly usage >= 100% the scheduler silently skips curate runs, leaving isRunning() stuck. Fix: extract isUsageBudgetExhausted into usage-budget.ts so tests can vi.mock the module without production code changes. Also move queuedRun=false before the budget check so isRunning() accurately reports idle when budget is exhausted (production bug). 2. Backend-lifecycle: ensureBackend() rejection fires during advanceTimersByTimeAsync before the .rejects.toThrow() handler is attached, causing an unhandled rejection. Fix: attach the rejection expectation before advancing timers. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
codex scanner) now defaultbypassPermissionstotrue, matching thecoralDispatch()path — fixes sandbox errors for read-only agents~/.claude/hud/.coral-cache.jsonby extractingisUsageBudgetExhaustedinto a mockable module; backend-lifecycle unhandled rejection fixed by attaching rejection handler before timer advancementqueuedRuncleared before budget check soisRunning()accurately reports idle when budget is exhaustedTest plan
npm run buildpasses cleannpm test— 1541 tests pass, 0 failures, 0 errorsbypassPermissionsdefault: agent=true, no-agent=false, explicit override respected🤖 Generated with Claude Code